\section{Class List}
Here are the classes, structs, unions and interfaces with brief descriptions:\begin{DoxyCompactList}
\item\contentsline{section}{\hyperlink{class_accelometer_sensor}{AccelometerSensor} (Receives QAccelometerReading events from QAccelometer device )}{\pageref{class_accelometer_sensor}}{}
\item\contentsline{section}{\hyperlink{class_asteroid}{Asteroid} (Game object for asteroid that can be smashed by \hyperlink{class_space_craft}{SpaceCraft} )}{\pageref{class_asteroid}}{}
\item\contentsline{section}{\hyperlink{class_ball_to_cone_effect}{BallToConeEffect} (VisualEffect when miner transforms from ball to cone mode )}{\pageref{class_ball_to_cone_effect}}{}
\item\contentsline{section}{\hyperlink{class_black_hole}{BlackHole} (Game object for blachole enemy )}{\pageref{class_black_hole}}{}
\item\contentsline{section}{\hyperlink{class_bomb}{Bomb} (\hyperlink{class_collectible}{Collectible} game object for bomb )}{\pageref{class_bomb}}{}
\item\contentsline{section}{\hyperlink{class_bomb_effect}{BombEffect} (VisualEffect when bomb is launched )}{\pageref{class_bomb_effect}}{}
\item\contentsline{section}{\hyperlink{class_bomb_effect_data}{BombEffectData} (Data class for bomb effect )}{\pageref{class_bomb_effect_data}}{}
\item\contentsline{section}{\hyperlink{class_collectible}{Collectible} (Base class for collectible game object )}{\pageref{class_collectible}}{}
\item\contentsline{section}{\hyperlink{class_comet}{Comet} (\hyperlink{class_comet}{Comet} game object )}{\pageref{class_comet}}{}
\item\contentsline{section}{\hyperlink{struct_comet_texture_data}{CometTextureData} (Data structure for comet texture data )}{\pageref{struct_comet_texture_data}}{}
\item\contentsline{section}{\hyperlink{class_cone_to_ball_effect}{ConeToBallEffect} (VisualEffect when miner transforms from cone to ball mode )}{\pageref{class_cone_to_ball_effect}}{}
\item\contentsline{section}{\hyperlink{struct_game_object_1_1frame_data}{GameObject::frameData} (Structure for storing frame data for rewind mode playback )}{\pageref{struct_game_object_1_1frame_data}}{}
\item\contentsline{section}{\hyperlink{class_frame_info}{FrameInfo} (Frame information storage for the rewind mode )}{\pageref{class_frame_info}}{}
\item\contentsline{section}{\hyperlink{class_game_app_viewer}{GameAppViewer} (Extended QmlApplicationViewer containing {\ttfamily \hyperlink{class_game_settings}{GameSettings}}, {\ttfamily \hyperlink{class_game_widget}{GameWidget}} and {\ttfamily \hyperlink{class_music_player}{MusicPlayer}} instance and takes care of starting the music playback {\ttfamily \hyperlink{class_game_app_viewer_a97c126a98f0b481bd865ba8088a64459}{GameAppViewer::startMusic()}} )}{\pageref{class_game_app_viewer}}{}
\item\contentsline{section}{\hyperlink{class_game_effect}{GameEffect} (Base class for game effects )}{\pageref{class_game_effect}}{}
\item\contentsline{section}{\hyperlink{class_game_engine}{GameEngine} (The {\ttfamily \hyperlink{class_game_engine}{GameEngine}} class contains the main game loop and all the necessary methods to keep up the actual gameplay )}{\pageref{class_game_engine}}{}
\item\contentsline{section}{\hyperlink{class_game_level}{GameLevel} (Provides game data for each level and scales the game data according to difficulty settings )}{\pageref{class_game_level}}{}
\item\contentsline{section}{\hyperlink{struct_game_level_data}{GameLevelData} (For storing level data for current game level )}{\pageref{struct_game_level_data}}{}
\item\contentsline{section}{\hyperlink{class_game_object}{GameObject} (Base class for graphical game objects )}{\pageref{class_game_object}}{}
\item\contentsline{section}{\hyperlink{struct_game_object_start_parameters}{GameObjectStartParameters} (Structure for storing start parameters for game objects )}{\pageref{struct_game_object_start_parameters}}{}
\item\contentsline{section}{\hyperlink{class_game_settings}{GameSettings} (Persistent user preferences are stored to the game settings )}{\pageref{class_game_settings}}{}
\item\contentsline{section}{\hyperlink{class_game_timer}{GameTimer} ({\ttfamily \hyperlink{class_game_timer}{GameTimer}} is used for instantiating game timers for animation, effects, game state handling, etc )}{\pageref{class_game_timer}}{}
\item\contentsline{section}{\hyperlink{class_game_widget}{GameWidget} ({\ttfamily \hyperlink{class_game_widget}{GameWidget}} class instance renders the game screen, it also owns a {\ttfamily \hyperlink{class_game_engine}{GameEngine}} instance and calls the main game loop ({\ttfamily \hyperlink{class_game_engine_a0cb4c8cd0289b828d85588f68e728153}{GameEngine::cycleGameLoop()}}) in game play mode on each {\ttfamily \hyperlink{class_game_widget_ad0211cd1e61a458b9ab483fecaa7cb20}{paintGL()}} screen refresh call )}{\pageref{class_game_widget}}{}
\item\contentsline{section}{\hyperlink{class_high_score_item}{HighScoreItem} (Data item for single high score )}{\pageref{class_high_score_item}}{}
\item\contentsline{section}{\hyperlink{class_high_score_model}{HighScoreModel} (Data model for high scores )}{\pageref{class_high_score_model}}{}
\item\contentsline{section}{\hyperlink{class_hyper_jump}{HyperJump} (\hyperlink{class_collectible}{Collectible} game object for hyper jump )}{\pageref{class_hyper_jump}}{}
\item\contentsline{section}{\hyperlink{class_hyper_jump_destination}{HyperJumpDestination} (Container for \hyperlink{class_space_craft}{SpaceCraft} hyper jump out destination )}{\pageref{class_hyper_jump_destination}}{}
\item\contentsline{section}{\hyperlink{class_hyper_jump_effect_data}{HyperJumpEffectData} (Data class for hyper jump effect )}{\pageref{class_hyper_jump_effect_data}}{}
\item\contentsline{section}{\hyperlink{class_hyper_jump_in_effect}{HyperJumpInEffect} (VisualEffect when miner hyper jumps in the game screen )}{\pageref{class_hyper_jump_in_effect}}{}
\item\contentsline{section}{\hyperlink{class_hyper_jump_navigator}{HyperJumpNavigator} (To calculate the best position for hyper jump out )}{\pageref{class_hyper_jump_navigator}}{}
\item\contentsline{section}{\hyperlink{class_hyper_jump_out_effect}{HyperJumpOutEffect} (VisualEffect when miner hyper jumps out from game screen )}{\pageref{class_hyper_jump_out_effect}}{}
\item\contentsline{section}{\hyperlink{class_meteor_shower}{MeteorShower} (Meteor shower game object )}{\pageref{class_meteor_shower}}{}
\item\contentsline{section}{\hyperlink{class_mineral}{Mineral} (Base class for mineral collectibles )}{\pageref{class_mineral}}{}
\item\contentsline{section}{\hyperlink{class_mineral_a}{MineralA} (Type A mineral collectible )}{\pageref{class_mineral_a}}{}
\item\contentsline{section}{\hyperlink{class_mineral_b}{MineralB} (Type B mineral collectible )}{\pageref{class_mineral_b}}{}
\item\contentsline{section}{\hyperlink{class_mineral_c}{MineralC} (Type C mineral collectible )}{\pageref{class_mineral_c}}{}
\item\contentsline{section}{\hyperlink{class_mineral_d}{MineralD} (Type D mineral collectible )}{\pageref{class_mineral_d}}{}
\item\contentsline{section}{\hyperlink{class_missile}{Missile} ({\ttfamily \hyperlink{class_missile}{Missile}} class to implement missiles fired by UFO's derived from {\ttfamily \hyperlink{class_game_object}{GameObject}} and {\ttfamily \hyperlink{class_rotating_object}{RotatingObject}} )}{\pageref{class_missile}}{}
\item\contentsline{section}{\hyperlink{class_music_player}{MusicPlayer} (Plays the game music using GStreamer )}{\pageref{class_music_player}}{}
\item\contentsline{section}{\hyperlink{struct_particle}{Particle} (Structure for storing OpenGL particle data )}{\pageref{struct_particle}}{}
\item\contentsline{section}{\hyperlink{class_particle_data}{ParticleData} ({\ttfamily \hyperlink{class_particle_data}{ParticleData}} class is used for managing the particle effect )}{\pageref{class_particle_data}}{}
\item\contentsline{section}{\hyperlink{class_pulse_audio_output}{PulseAudioOutput} (Pulse Audio output device to play sound effects )}{\pageref{class_pulse_audio_output}}{}
\item\contentsline{section}{\hyperlink{class_rotating_collectible}{RotatingCollectible} (Rotating collectible game object )}{\pageref{class_rotating_collectible}}{}
\item\contentsline{section}{\hyperlink{class_rotating_object}{RotatingObject} (Game object that is rotating when moving on screen )}{\pageref{class_rotating_object}}{}
\item\contentsline{section}{\hyperlink{class_sound_effect}{SoundEffect} (Game sound effect )}{\pageref{class_sound_effect}}{}
\item\contentsline{section}{\hyperlink{class_sound_engine}{SoundEngine} (Plays the game sound effects by using the preferred sound engine implementation )}{\pageref{class_sound_engine}}{}
\item\contentsline{section}{\hyperlink{class_sound_engine_pulse_audio}{SoundEnginePulseAudio} (Pulse Audio sound server client to play sound effects )}{\pageref{class_sound_engine_pulse_audio}}{}
\item\contentsline{section}{\hyperlink{class_sound_engine_q_audio}{SoundEngineQAudio} (QAudio sound engine to play sound effects )}{\pageref{class_sound_engine_q_audio}}{}
\item\contentsline{section}{\hyperlink{class_space_craft}{SpaceCraft} (Space craft that player is steering to smash asteroids and collect items )}{\pageref{class_space_craft}}{}
\item\contentsline{section}{\hyperlink{classsp_back_ground}{spBackGround} (Class for managing shader programs for rendering background graphics )}{\pageref{classsp_back_ground}}{}
\item\contentsline{section}{\hyperlink{classsp_back_ground_eff2_d}{spBackGroundEff2D} (Class for managing shader programs for rendering background graphics with bomb and black hole effects )}{\pageref{classsp_back_ground_eff2_d}}{}
\item\contentsline{section}{\hyperlink{classsp_base}{spBase} (Base class for managing SmashMiner shader progams )}{\pageref{classsp_base}}{}
\item\contentsline{section}{\hyperlink{classsp_constant_material}{spConstantMaterial} (Class for managing shader programs for rendering constant material (unified colour) game objects )}{\pageref{classsp_constant_material}}{}
\item\contentsline{section}{\hyperlink{classsp_constant_material_eff3_d}{spConstantMaterialEff3D} (Class for managing shader programs for rendering constant material (unified colour) game objects with black hole effect )}{\pageref{classsp_constant_material_eff3_d}}{}
\item\contentsline{section}{\hyperlink{classsp_control_gauges}{spControlGauges} (Class for managing shader programs for rendering control cauges )}{\pageref{classsp_control_gauges}}{}
\item\contentsline{section}{\hyperlink{classsp_particles}{spParticles} (Class for managing shader programs for rendering particle effects )}{\pageref{classsp_particles}}{}
\item\contentsline{section}{\hyperlink{classsp_particles_eff2_d}{spParticlesEff2D} (Class for managing shader programs for rendering particle effects with black hole effect )}{\pageref{classsp_particles_eff2_d}}{}
\item\contentsline{section}{\hyperlink{classsp_rewind_gauge}{spRewindGauge} (Class for managing shader programs for rendering the rewind cauge )}{\pageref{classsp_rewind_gauge}}{}
\item\contentsline{section}{\hyperlink{classsp_texture}{spTexture} (Class for managing shader programs for rendering texture objects )}{\pageref{classsp_texture}}{}
\item\contentsline{section}{\hyperlink{classsp_texture_eff3_d}{spTextureEff3D} (Class for managing shader programs for rendering texture objects with black hole effect )}{\pageref{classsp_texture_eff3_d}}{}
\item\contentsline{section}{\hyperlink{classsp_variable_material}{spVariableMaterial} (Class for managing shader programs for rendering variable material (colour value for each vertex point) game objects )}{\pageref{classsp_variable_material}}{}
\item\contentsline{section}{\hyperlink{classsp_variable_material_eff3_d}{spVariableMaterialEff3D} (Class for managing shader programs for rendering variable material (colour value for each vertex point) game objects with black hole effect )}{\pageref{classsp_variable_material_eff3_d}}{}
\item\contentsline{section}{\hyperlink{struct_statistics}{Statistics} (A structure for storing statistics information about game objects and particle effects )}{\pageref{struct_statistics}}{}
\item\contentsline{section}{\hyperlink{struct_texture_data}{TextureData} (Data structure for storing data for OpenGL texture objects )}{\pageref{struct_texture_data}}{}
\item\contentsline{section}{\hyperlink{class_timer_manager}{TimerManager} ({\ttfamily \hyperlink{class_timer_manager}{TimerManager}} class instance is used for managing all the game timers for animation, game states, effects etc )}{\pageref{class_timer_manager}}{}
\item\contentsline{section}{\hyperlink{class_ufo}{Ufo} (Game object for ufo enemy )}{\pageref{class_ufo}}{}
\item\contentsline{section}{\hyperlink{class_visual_effect_data}{VisualEffectData} (Data class for visual effect )}{\pageref{class_visual_effect_data}}{}
\item\contentsline{section}{\hyperlink{class_wav_file}{WavFile} (Helper class for reading and writing to a WAV file )}{\pageref{class_wav_file}}{}
\item\contentsline{section}{\hyperlink{class_wrapping_game_object}{WrappingGameObject} (Base class for GameObjects that are wrapped around the screen )}{\pageref{class_wrapping_game_object}}{}
\end{DoxyCompactList}
